Command interpretation using rewritable command registers

ABSTRACT

An object of the present invention is to provide a command data conversion device and printing apparatus that can correctly interpret print command data even where the codes or the parameter codes assigned to the commands in the print command data change, or where the data output sequence changes. Using the present invention, print command data including commands used in print control as well as associated data are received, and the contents thereof are interpreted. Multiple commands are rewritably stored in command registers in advance, and if a command included in the print command data matches any of the stored multiple commands, prescribed processing is carried out to at least one of either the command or its associated data.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a technology to perform printing inaccordance with print command data, and more particularly, to atechnology that can cope with changes in commands or in the order ofdata.

2. Description of the Related Art

Printers used in a computer system perform printing in accordance withprint command data input from a host computer. When the printer cannotuse the input print command data as is, the print command data isinterpreted and converted by the printer, and printing is executed inaccordance with the post-conversion print commands. In certain types ofprinters, the command data interpretation and conversion are carried outby ASIC (Application-Specific Integrated Circuit) devices. One exampleof a printer control circuit used in this type of printer is disclosedin JP11-338651A.

However, in the conventional printer control circuit, because theinformation used to interpret the print command data is fixed, when thecodes or parameter codes assigned to commands are changed, or when theorder of data input is changed, the print command data cannot becorrectly interpreted.

SUMMARY OF THE INVENTION

Accordingly, an object of the present invention is to provide a commanddata conversion device and printing apparatus that can appropriatelyinterpret the print command data even if the codes or parameter codesassigned to commands are changed or if the order of data input ischanged.

In order to resolve at least part of the above and other object of thepresent invention, there is provided a command data conversion devicefor use in a printing system. This command data conversion devicereceives print command data including commands to be used in printcontrol and associated data and interprets contents of the print commanddata. Multiple commands are stored beforehand in command registers, andwhen a command included in the print command data matches any of themultiple commands stored in the command registers, prescribed processingis executed with regard to at least one of either the command or theassociated data. The multiple commands may be written into the commandregisters at least when the command data conversion device ismanufactured. Using this construction, the commands to be processed arestored in the command registers when the command data conversion deviceis manufactured.

It is preferred that the command registers are rewritable memories.Using this construction, the commands stored beforehand may be rewrittenwhere necessary so that they may be used for command interpretation.Therefore, even where commands codes have changed, the commands to beprocessed are correctly interpreted and specified, and processingcarried out accordingly, through the rewriting of the stored commands.

Furthermore, it is preferred that prior to the interpretation of theprint command data, when the commands to be stored in the commandregisters are supplied by an external device, the command interpreterstores in the command registers the commands to be stored. Using thisconstruction, the commands to be processed by the processor may bechanged through the changing of the commands supplied by the externaldevice to the command registers, without replacing the command dataregister itself.

Moreover, by using an ASIC (Application-Specific Integrated Circuit)chip as the command data conversion device, the apparatus may beproduced at low cost and in large quantities.

It is also preferred that when first command data including a first dataforwarding command and first image data expressed in terms of a firstcolor system is supplied as the print command data, a process isexecuted that convert the input first image data into second image dataexpressed in terms of a second color system. If this is done, the firstimage data is correctly selected and converted into the second imagedata even if the first data forwarding command has changed.

The second image data may be expressed in terms of a color system usingink colors used in the printing system. In this way, the post-conversionimage data may be used in the printing apparatus.

In addition, hen second command data comprising a second data forwardingcommand and the second image data expressed in terms of the second colorsystem is supplied as the print command data, it is preferred that thirdimage data expressed in terms of the second color system be generatedthrough conversion of the first image data, and that the second imagedata and the third image data then be synthesized.

If this is done, the first image data only is converted and both thefirst and the second image data are made into a single block of imagedata even where the first and second image data are combined in theprint command data.

In another aspect of the present invention, when multiple image datasets corresponding to multiple inks used in the printing system arereceived, a number of the image data sets received is counted. Multipleink color data indexes indicating which of multiple inks is to be usedare stored in prescribed registers. Data is generated by adding to eachof the image data sets a corresponding one of the ink color data indexesstored in the registers in accordance with a value of the counter wheneach of the image data sets is received. Ink color data registers thatstore in prescribed registers multiple ink color data indexes indicatingwhich of multiple inks is to be used is made so that the multiple inkcolor data indexes may be written at least when the command dataconversion device is manufactured. Using this construction, therelationship between each ink color and counter value is determined andink color data are stored in the appropriate memory areas in the inkcolor data registers when the command data conversion device ismanufactured.

It is preferred that the ink color data registers are rewritablememories. Using this construction, the ink color data stored so that itmay be added to each image data set may be rewritten as necessary.Therefore, even if the order in which image data sets are receivedchanges, the correct ink color data may be added to each image data set.

The present invention may be realized in the various forms listed below.

-   (1) Command data conversion apparatus, printing apparatus, or    printer control apparatus.-   (2) Command data conversion method, printing method, or printer    control method.-   (3) Computer program to realize the above apparatuses or methods.-   (4) Recording medium to record the computer program to realize the    above apparatuses or methods.-   (5) Data signals encoded in carrier waves that include a computer    program to realize the above apparatuses or methods.

These and other objects, features, aspects, and advantages of thepresent invention will become more apparent from the following detaileddescription of the preferred embodiments with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows the overall construction of an embodiment of the presentinvention;

FIG. 2 shows a variation of the placement of the command data conversioncircuit (control circuit) 5;

FIGS. 3(A) and 3(B) show the contents of the RGB raster graphic modestart command C1 and the image conversion parameter setting command C2;

FIG. 4 shows the contents of the back end parameter setting command C3;

FIGS. 5(A) and 5(B) show the contents of the RGB data forwarding commandC4 and the CMYK data forwarding command C5;

FIGS. 6(A), 6(B) and 6(C) show the raster end command C6, the page endcommand C7 and the RGB raster graphic mode end command C8;

FIG. 7 shows the comparator 20 and the registers 22 a through 22 l inthe command interpreting circuit 13;

FIGS. 8(A) and 8(B) show the rewriting of the color specificationregisters;

FIG. 9 shows the decoder 26, the color specification registers 27 athrough 27 d, and the color specification counter 28 in the commandgenerating circuit 23;

FIG. 10 shows the contents of the interlace CMYK raster data for eachpass sent from the position control circuit 24 to the command generatingcircuit 23;

FIG. 11 shows the contents of the interlace CMYK raster data for eachpass sent from the command generating circuit 23 to the printingexecution unit 9;

FIGS. 12(A) and (B) show the rewriting of the color specificationregisters 27 a through 27 d;

FIG. 13 shows the comparator 29 and the registers 32 a through 32 l inthe command filter 12;

FIG. 14 shows the overall construction of a variation of the presentinvention;

FIG. 15 is a flow chart showing the printing process in the printer usedin the variation of the present invention; and

FIG. 16 shows the system construction in another embodiment of thepresent invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Embodiments of the present invention will be described in the followingorder:

-   -   A. Construction and operation of command data conversion circuit        in printer    -   B. Interpreting of control circuit commands in print command        data    -   C. Image processing, raster data overlapping    -   D. Printer command generation    -   E. Allocation of commands    -   F. Variation 1    -   G. Variation 2        A. Construction and Operation of Command Data Conversion Circuit        in Printer

FIG. 1 shows the overall construction of an embodiment of the presentinvention. A printer 17 connected to a host computer contains a printingexecution unit 9 to execute printing, and a command data conversioncircuit 5 located between the host computer and the printing executionunit 9. The command data conversion circuit 5 is a hardware circuitcomprising an ASIC (Application-Specific Integrated Circuit) and asemiconductor memory chip, for example, and is not a computer that runssoftware using a CPU. The command data conversion circuit 5 receivesprint command data including control circuit commands 3 from the printerdriver 1, creates printer commands 7 for the printing execution unit 9,and sends these commands 7 to the printing execution unit 9. In thisspecification, the term “command” refers not only to a command in thenarrow sense of the word, but also refers more broadly to parameters anddata associated therewith.

FIG. 2 shows the placement of the command data conversion unit 5. Thereare three variations of the placement of the command data conversioncircuit 5, as shown in FIG. 2. The command data conversion circuit 5 maybe (i) built into the host computer 31 as shown by the block 33 in FIG.2, (ii) built into the printer 17 as shown by the block 37, or (iii)connected to the host computer 31 and to the printing execution unit 9as shown by the block 35. In the host-based construction, the commanddata conversion circuit 5 is provided in the form of an option board inthe host computer, is directly connected to the CPU bus of the hostcomputer 31, and is connected to the printer 17 via a parallel interfacecable (or over a communication network), for example. This constructionoffers the advantage that the command data conversion circuit 5 may beconnected to multiple printers. On the other hand, in the printer-basedconstruction, the command data conversion circuit 5 is provided in theform of an option board in the printer, is directly connected to the CPUbus of the printer 17, and is connected to the host computer 31 via aparallel interface cable (or over a communication network), for example.This construction offers the advantage that the command data conversioncircuit 5 may be connected to multiple hosts. In the connectedconstruction, the command data conversion circuit 5 is connected to boththe host computer 31 and to the printer 17 via a parallel interfacecable (or over a communication network), for example. In each of theseconstructions, the command data conversion circuit 5 may be created asan ASIC.

As shown in FIG. 1, the command data conversion circuit 5 includes animage data processing circuit 15. This image data processing circuit 15receives high-resolution raster data (in this embodiment, “full colorRGB raster data” comprising 8-bit words in which each color componentvalue of each pixel may be expressed in 256 gradations) and convertsthis full-color RGB raster data into printer color system-compatiblelow-resolution raster data (in this embodiment, “binary CMYK rasterdata” expressed in terms of whether or not a CMYK dot is to be placed ateach pixel position) through “color conversion” and “halftoneprocessing”. As a result, it is no longer necessary for the printerdriver 1 to carry out “color conversion” and “halftone processing” ofthe original image data to be printed, and the burden on the hostcomputer CPU is significantly reduced. Similarly, the printing executionunit 9 also need not perform “color conversion” and “halftoneprocessing”, thereby reducing the burden on the printer CPU. At the sametime, because the image data processing circuit 15 of the command dataconversion circuit 5 comprises dedicated hardware for the execution of“color conversion” and “halftone processing”, such processing is carriedout at high speed, thereby increasing the speed of printing.

Incidentally, while the printer driver 1 need not carry out “colorconversion” and “halftone processing” in principle, as described above,in this embodiment, the printer driver 1 does not completely abandonthis processing function, but rather performs selection in accordancewith the type of image. In other words, when the printer driver 1receives original image data from an application program, it firstseparates and extracts character and drawing data and natural image datafrom the original image data. Characters are expressed through charactercodes and character attribute (size, style) data, and drawings areexpressed through function calls and vector data. This character dataand drawing data undergo “rasterizing”, “color conversion” and “halftoneprocessing” by the printer driver 1, and are converted to binary CMYKraster data, and after this data is compressed, the converted data isincorporated into a control circuit command 3 and sent to the commanddata conversion circuit 5. On the other hand, the natural image data istypically expressed as RGB raster data. This natural image data does notundergo “color conversion” and “halftone processing” by the printerdriver 1, and is compressed, incorporated into a control circuit command3, and sent to the command data conversion circuit 5 as RGB raster data.Therefore, the image data processing circuit 15 of the command dataconversion circuit 5 carries out “color conversion” and “halftoneprocessing” of only the natural image RGB data.

There are two principal reasons that “color conversion” and “halftoneprocessing” of the character and drawing data are carried out by theprinter driver 1, but are carried out with regard to the natural imagedata by the command data conversion circuit 5. One, while suchprocessing of character and drawing data is in general easy, and doesnot place a large burden on the CPU, such processing of natural imagedata is intensive, and places a large burden on the CPU. As a result, itis most efficient from the standpoint of processing speed to have thistype of intensive processing carried out by the command data conversioncircuit 5 comprising dedicated hardware for this purpose, and to relievethe CPU of the duty to perform such processing. Two, character anddrawing data are preferable to be high resolution data because it mustbe printed such that edges are well-defined. As concerns data format,high-resolution full-color RGB raster data comprises an extremely largeamount of data. But binary CMYK data does not comprise such a largeamount of data even where it has a high resolution. Therefore, if datais sent from the printer driver 1 to the command data conversion circuit5 in binary CMYK raster data format, data forwarding may be carried outin a shorter amount of time.

The construction and operation of the command data conversion circuit 5will be explained in detail below.

As shown in FIG. 1, the command data conversion circuit 5 has a hostinterface circuit 11, a command filter 12, a command interpretingcircuit 13, an image data processing circuit 15, a memory controlcircuit 19, a memory 21, a command generating circuit 23, a positioncontrol circuit 24 and a printer interface circuit 25.

The host interface circuit 11 receives control circuit commandsdescribed below from the printer driver 1 of the host device (not shownin the drawing). Of those received commands, the command filter 12 sendsto the command interpreting circuit 13 only those commands that can beunderstood by the command interpreting circuit 13. The commandinterpreting circuit 13 interprets the received control circuitcommands, determines the type of command each represents, and forwardsthe data included in each command to the appropriate destination (i.e.,the memory control circuit 19 or the image data processing circuit 15)in accordance with the type of command. The image data processingcircuit 15 receives natural-image full-color RGB raster data from thecommand interpreting circuit 13, carries out color conversion andhalftone processing, and generates binary CMYK raster data.

The memory control circuit 19 receives back end parameters describedbelow (parameters necessary to execute printing based on binary CMYKraster data) from the command interpreting circuit 13, and stores themin the command buffer 61 of the memory 21. The memory control circuit 19receives binary CMYK raster data for the character and drawing data fromthe command interpreting circuit 13, and receives binary CMYK rasterdata for the natural image data from the image data processing circuit15, and stores them in the data buffer 63 of the memory 21. The imagedata processing circuit 15 also reads out the back end parameters fromthe command buffer 61 and sends them to the command generating circuit23, and then reads out the binary CMYK raster data from the data buffer63 and sends it to the position control circuit 24.

The position control circuit 24 converts the binary CMYK data receivedfrom the memory control circuit 19 into data (referred to below as“interlace CMYK raster data”) having a format compatible with interlaceprinting or overlap printing, and then sends it to the commandgenerating circuit 23. The command generating circuit 23 generatesprinter commands to initialize the printing execution unit 9 based onthe back end parameters from the memory control circuit 19, andthereafter generates printer commands to forward the interlace CMYKraster data to the printing execution unit 9 based on the interlace CMYKraster data from the position control circuit 24. The printer interfacecircuit 25 forwards the printer commands generated by the commandgenerating circuit 23 to the printing execution unit 9.

B. Interpreting of Control Circuit Commands in Print Command Data

The functions of the various components of the command data conversioncircuit 5 are explained in more detail below.

The host interface circuit 11 receives a series of control circuitcommands 3 from the printer driver 1 of the host device, and sends themto the command interpreting circuit 13.

The command interpreting circuit 13 places the control circuit commandsfrom the printer driver 1 of the host device in an FIFO memory (notshown in the drawing) of the command interpreting circuit 13, reads themout and interprets them in the order of receipt, and determines the typeof command each command represents. An example of these control circuitcommands is shown in FIGS. 3(A), 3(B), 4, 5(A), 5(B), and 6(A)–6(C) asthe eight commands C1 through C8, in accordance with the order suchcommands are sent from the printer driver 1.

(1) RGB Raster Graphic Mode Start Command C1:

FIG. 3(A) shows the RGB raster graphic mode start command C1. Thiscommand includes an associated parameter, which has the format of an“<ESC> parameter”, as shown in FIG. 3(A). I this specification, a symbolin the angle brackets “< >” denotes a command code. The parameter is“(G”. This command instructs the command data conversion circuit 5 toenter “RGB raster graphic mode”. The “RGB raster graphic mode” is a modethat carries out an operation to convert the full-color RGB raster datasent from the host device into binary CMYK raster data and output it tothe printer. The command interpreting circuit 13 accepts the followingcommands C2 through C8 only when RGB raster graphic mode is active.

(2) Image Conversion Parameter Setting Command C2

FIG. 3(B) shows the contents of the image conversion parameter settingcommand C2. This command includes associated parameters and data, andhas the format “<xferJ> parameters data”, as shown in the middle part ofFIG. 3(B). This command instructs the command data conversion circuit 5to set in the image data processing circuit 15 the parameters necessaryto perform color conversion and halftone processing (hereinafter “imageconversion parameters”.

The data forwarding commands containing the <xferj> command codecomprise, in addition to the “image conversion parameter settingcommand”, a “back end parameter setting command” and an “RGB dataforwarding command” described below. These data forwarding commandsinclude parameters and data. The parameters for each command include, asshown in the bottom part of FIG. 3(B), instructions relating to “validdata bit size”, “data compression method”, “selected device as a dataforwarding destination”, “data storage register address in device”,“number of data items”, etc. The type of command among the three typesof commands may be determined from the “selected device” and “datastorage register address in device” parameters. The “selected device”parameter in the “image conversion parameter setting command C2” is theimage data processing circuit 15, and the data is the “image conversionparameters”. The “image conversion parameters” include, for example,various types of look-up tables such as an RGB/CMYK conversion table forcolor conversion, a dithering threshold matrix used in dithering, and agamma-correction table used in gamma correction.

Upon receiving the image conversion parameter setting command, thecommand interpreting circuit 13 sends the register address in theparameters for this command and the data associated with this command(i.e., the image conversion parameters) to the image data processingcircuit 15 as indicated by the arrow 43 in FIG. 1. When this occurs, ifthe image conversion parameters are compressed, the command interpretingcircuit 13 sends the image conversion parameters to the image dataprocessing circuit 15 after decompressing them. The image dataprocessing circuit 15 sets the image conversion parameters in thespecified register address. In this way, the configuration of the imagedata processing circuit 15 is set so that color conversion and halftoneprocessing of the subsequently received full-color RGB raster data arecorrectly performed.

Each command from the “image conversion parameter setting command” tothe “page end command” described below is repeated until the final pageof the print job is processed. It is acceptable if the “image conversionparameter setting command” and the “back end parameter setting command”described in the next section are sent only once at the beginning of theprint job.

(3) Back End Parameter Setting Command C3

FIG. 4 shows the contents of the back end parameter setting command C3.This command includes associated parameters and data, and has the format“<xferJ> parameters data”, as shown in the middle part of FIG. 4. Thiscommand instructs the command data conversion circuit 5 to set in thecomponents of the command data conversion circuit 5 (typically, theposition control circuit 24 described below), as well as in the printer,the various parameters necessary to correctly control the printermechanisms (such as a print head, carriage and paper feed device of aninkjet printer) and perform printing onto the printing paper. Theseparameters are required by the processing modules located downstreamfrom the image data processing circuit 15 and by the printing executionunit 9 (back end), and in that sense are called “back end parameters”.The “selected device” indicated among the parameters in the “back endparameter setting command C3” is the back end, and the data comprisesthe back end parameters. The back end parameters include the horizontaland vertical resolution of the CMYK raster image, the number of pixelsin one raster line (one horizontal line), the number of raster lines ina page, the page length, the top, bottom and left margins, the basicpaper feed amount, the dot size instruction, one-directional vs.bidirectional printing, the number of passes (or the nozzle spacing)when interlace printing is performed, the number of nozzles used, andthe paper forwarding amounts of the variable paper feeding.

In this specification, this “back end parameter setting command” and the“image conversion parameter setting command” described above (seesection (2)) are collectively referred to as “parameter settingcommands”.

When receipt of the entire “image conversion parameter setting command”(see section (2)) has been completed, the “back end parameter settingcommand” is input. When this command is received, the commandinterpreting circuit 13 sends the register address in the parameters forthis command and the associated data (i.e., the back end parameters) tothe memory control circuit 19, as indicated by the arrow 41 in FIG. 1.

(4) RGB Data Forwarding Command C4

FIG. 5(A) shows the contents of the RGB data forwarding command C4. Thiscommand includes associated parameters and data, and has the format“<xferJ> parameters data”, as shown in the upper part of FIG. 5(A). Thiscommand instructs supplies the full-color RGB raster data for naturalimages for each raster line in the page (one horizontal line) to thecommand data conversion circuit 5 and instructs that color conversionand halftone processing be performed. The “selected device” in theparameters for this command is the image data processing circuit 15, andthe data associated with this command is the full-color RGB raster datafor one raster line (or for an individual segment of one raster line).This RGB data forwarding command corresponds to the “first dataforwarding command” in the claims set forth in this specification.Furthermore, the three colors of red, green and black (RGB) constitutethe “first color system”, and the full-color RGB raster data for oneraster line (or for an individual segment of one raster line)corresponds to the “first image data”.

When receipt of the entire “back end parameter setting command” (seesection (3)) has been completed, the “raster image forwarding command”for each raster line is input. The “raster image forwarding command”includes the “RGB data forwarding command” and the “CMYK data forwardingcommand” described below. When a raster line contains both naturalimages and characters and/or drawings, the “RGB data forwarding command”is input for the natural images, and then the “CMYK data forwardingcommand” is input for the characters and/or drawings. If the raster linecontains only natural images, only the “RGB data forwarding command” isinput. If the raster line contains only characters and/or drawings, onlythe “CMYK data forwarding command” is input. The command interpretingcircuit 13 sends the register address in the parameters in the “CMYKdata forwarding command” and the data associated with this command(i.e., the natural-image full-color RGB raster data) to the image dataprocessing circuit 15 as shown in the arrow 43 in FIG. 1. If thefull-color RGB raster data in the command is compressed, the commandinterpreting circuit 13 sends it to the image data processing circuit 15after decompressing it.

(5) CMYK Data Forwarding Command C5

FIG. 5(B) shows the CMYK data forwarding command C5. This commandincludes associated parameters and data, and has the format “<xferC>parameters data”, as shown in FIG. 5(B). This command supplies to thecommand data conversion circuit 5 characters/drawing binary CMYK rasterdata for each raster line (one horizontal line) in the page. The data inthis command comprises character/drawing binary CMYK raster data for oneraster line (or for an individual segment of one raster line) generatedby the printer driver 1. This CMYK data forwarding command comprises the“second data forwarding command” described in the claims of thisspecification. The four colors of cyan, magenta, yellow and black (CMYK)constitute the “second color system” described in the claims, and thecharacter/drawing binary CMYK raster data drawings for one raster line(or for an individual segment of one raster line) constitutes the“second image data” described therein.

This “CMYK data forwarding commands” is sent for the raster data thatincludes both (1) natural images and (2) characters and/or drawings, orraster data for only (2) characters and/or drawings.

The command interpreting circuit 13 sends the “CMYK data forwardingcommand” data (i.e., the character/drawing binary CMYK raster data) tothe memory control circuit 19 as indicated by the arrow 41 in FIG. 1.

(6) Raster End Command C6

FIG. 6(A) shows the raster end command C6. This command does not haveany associated parameters or data, and has the format “<eor>”. Thiscommand provides notification that one raster line has been completed.

The “RGB data forwarding command” (see section (4)), the “CMYK dataforwarding command” (see section (5)), and the “raster end command” aresent repeatedly until the final raster line on the page is processed.

(7) Page End Command C7

FIG. 6(B) shows the page end command C7. This command does not have anyassociated parameters or data, and has the format “<FF>”. This commandindicates a page return.

When the “raster end command” (see section (6)) for the last raster lineon the page has been input, the next input command is the “page endcommand”. When this command is input, the command interpreting circuit13 stops receiving new commands from the host device until anotification is received from the command generating circuit 23indicating that forwarding of all of the data regarding the previouspage has been completed. When this notification is received, the commandinterpreting circuit 13 begins receiving commands regarding the nextpage.

Each command from the “image conversion parameter setting command” (seesection (2)) to this “page end command” is repeated until the last pageof the print job is processed.

(8) RGB Raster Graphic Mode End Command C8

FIG. 6(C) shows the RGB raster graphic mode end command C8. This commanddoes not have any associated parameters or data, and has the format“<exit>”. This command issues a notification that the RGB raster graphicmode should be ended. When the RGB raster graphic mode is ended, thecommand interpreting circuit 13 does not accept any other commands untilthe next “RGB raster graphic mode start command” (see section (1)) isreceived.

Following the “page end command” (see section (7)) for the final page ofthe print job, the “RGB raster graphic mode end command” is input. Whenthis occurs, the command interpreting circuit 13 ends the RGB rastergraphic mode and thereafter accepts no commands other than “<ESC> (G”,i.e., the “RGB raster graphic mode start command” (see section (1)).

The command interpreting circuit 13 determines the type of command fromthe command code or the command code and parameters of the receivedcontrol circuit command. It is determined from the command code whetherthe command is an RGB raster graphic mode start command, an “<xferJ>”command, a CMYK data forwarding command, a raster end command, a pagereturn command, or an RGB raster graphic mode end command. Where thereceived control circuit command is an “<xferJ>” command, it isdetermined from the “selected device” in the parameters whether thecommand is a back end parameter setting command or a different command(i.e., an image conversion parameter setting command or an RGB dataforwarding command).

The command interpreting circuit 13 performs different operations basedon the command determination results, as described above.

FIG. 7 shows the comparison circuit 20 and the registers 22 a through 22f in the command interpreting circuit 13. The command interpretingcircuit 13 has a comparator 20 and twelve registers 22 a through 22 l,as shown in FIG. 7. The registers 22 a through 22 l comprisenon-volatile rewritable memories. Stored in these registers 22 a through22 l are their respective command codes such as “<ESC> (G”, “<xferJ>”,“<xferC>”, “<eor>”, “<FF>”, “<exit>.” Furthermore, in connection withthe RGB raster graphic mode start command C1, the command code “<ESC>(G” that includes the parameter “(G” is stored. In this specification,the term “command” refers not only to a command in the narrow sense ofthe word, but also refers more broadly to parameters and data associatedwith the command. The command interpreting circuit 13 compares thecommand codes stored in the registers 22 a through 22 l and controlcircuit commands 3 in the print command data using the comparator 20,and identifies the received control circuit commands 3. These registers22 a through 22 l are the “command registers” described in the claimsherein. Regarding the “<xferJ>” command code, it is determined in thenext stage based on the “selected device” and the “data storage registeraddress in device” whether the command is an “image conversion parametersetting command”, a “back end parameter setting command” or an “RGB dataforwarding command.” Here, the registers 22 a through 22 l werepreviously identified as non-volatile rewritable memories, but they mayalso comprise static RAMs or dynamic RAMs. In other words, any mediummay be used as the registers 22 a through 22 l so long as multiplecommands may be rewritten and stored therein.

FIGS. 8(A) and (B) show the color specification registers when thecontents thereof are rewritten. The contents of the registers 22 athrough 22 l may be rewritten by the command rewrite device 51 (seeFIG. 1) connected to the printer. Therefore, where the command codeassigned to each command is changed, if the command code rewrite device51 is connected and newly-assigned command codes are rewritten into theregisters 22 a through 22 l, the command interpreting circuit 13 cancorrectly interpret subsequent commands. For example, where the commandcode for the “RGB raster graphic mode start command” is changed from“<ESC> (G” to “enter”, if the contents of the register 22 a arerewritten to “enter” as shown in FIG. 8, when the code “enter” is input,the code may be correctly identified as an “RGB raster graphic modestart command.” The command interpreting unit 13 here corresponds to the“command interpreter” described in the claims herein, and the registers22 a through 22 l correspond to the “command registers” described in theclaims herein. The image data processing circuit 15 positioneddownstream from the command interpreting circuit 13 corresponds to the“processor that receives at least either of the commands and theassociated data and executes prescribed processing.” Furthermore, theprinter 17 may incorporate multiple groups of elements corresponding toeach element described in the claims. Another combination of elementscorresponding to each element described in the claims will be describedtogether with the description of the command filter 12.

C. Image Processing, Raster Data Overlapping

The image data processing circuit 15 shown in FIG. 1 first receives thevarious image conversion parameters and the register addresses for thoseparameters from the command interpreting circuit 13. The image dataprocessing circuit 15 stores the received image conversion parameters inthe specified register address. In this way, a configuration of theimage data processing circuit 15 is created so that color conversion andhalftone processing may be correctly performed. The image dataprocessing circuit 15 then receives natural-image full-color RGB dataand the register address for this data for each raster line from thecommand interpreting circuit 13. When this occurs, the image dataprocessing circuit 15 carries out color conversion and halftoneprocessing, converts the received full-color RGB raster data for eachraster line into binary CMYK raster data, and sends the data to memorycontrol circuit 19 as indicated by the arrow 45 in FIG. 1. The imagedata processing circuit 15 corresponds to the “processor that receivesat least either of the commands and the associated data and executesprescribed processing” described in the claims herein.

The memory control circuit 19 first receives back end parameters and theregister address for those parameters from the command interpretingcircuit 13. The memory control circuit 19 accumulates the received backend parameters and their register address in the command buffer 61 ofthe memory 21. The memory control circuit 19 then receives thenatural-image binary CMYK raster data for each raster line from theimage data processing circuit 15 and receives the character/drawingbinary CMYK raster data for each raster line from the commandinterpreting circuit 13. The memory control circuit 19 accumulates thereceived binary CMYK raster data for each raster line in the data buffer63 of the memory 21. When this occurs, where both natural-image CMYKdata and character/drawing CMYK data are received regarding the sameraster line, the memory control circuit 19 combines the natural-imageCMYK data and character/drawing CMYK data (through OR calculation) andwrites the data into the data buffer 63. In every time when the binaryraster data for each raster line finishes being received, the memorycontrol circuit 19 receives a raster end command from the commandinterpreting circuit 13 and recognizes the end of each raster line. Thismemory control circuit 19 corresponds to the “data synthesizer”described in the claims herein. Here, the sent image data is synthesizedat the raster data stage, but it is acceptable if all of the image datais synthesized before raster data is generated from the image data.

D. Printer Command Generation

Immediately after the RGB raster graphic mode is activated, the memorycontrol circuit 19 receives the command request “send command” from thecommand generating circuit 23 described below. The memory controlcircuit 19 writes the back end parameters and their register addressinto the command buffer 61, and in response to the above request, itreads out the back end parameters and their register address from thecommand buffer 61 in the order in which they were written in andforwards them to the command generating circuit 23 as indicated by thearrow 47 in FIG. 1. When forwarding of all of the back end parameters iscompleted, the memory control circuit 19 next receives the data request“send specified raster data” from the position control circuit 24. Whenthis occurs, the memory control circuit 19 reads out from the databuffer 63 the binary CMYK raster data specified by the above datarequest and forwards it to the position control circuit 24 as indicatedby the arrow 49 in FIG. 1.

Immediately after the RGB raster graphic mode is activated, the commandgenerating circuit 23 issues the command request described above to thememory control circuit 19, and when it receives back end parameters andtheir register address from the memory control circuit 19, it stores theback end parameters in the specified register address. When all of theparameters have been stored in this register, the command generatingcircuit 23 sends, among the back end parameters, parameters required bythe position control circuit 24 described below (which in actualitycomprise nearly all of the back end parameters) to the position controlcircuit 24, as indicated by the arrow 51 in FIG. 1. When this is done,the position control circuit 24 becomes appropriately configured, thatis, it becomes able to determine the specifications for interlaceprinting or overlap printing based on the back end parameters.

The command generating circuit 23 thereupon begins generating a seriesof printer commands, and sequentially sends the generated printercommands to the printing execution unit 9 via the parallel interfaceunit 25. In this process, the command generating circuit 23 firstcreates an initial command representing a job start declaration andsends it to the printing execution unit 9, and thereafter, using theback end parameters required by the printer, creates an initializingcommand that carries out initialization of the printer and sends it tothe printing execution unit 9. The command generating circuit 23 thenrequests CMYK raster data from the position control circuit 24, receivesinterlace CMYK raster data from the position control circuit 24,converts this data into a printer command for transmission of CMYK data,and sends the resulting command to the printing execution unit 9. Asdescribed below, because interlace CMYK raster data required by theprint head of the printing execution unit 9 is sent from the positioncontrol circuit 24 for each pass (each horizontal scanning) of the printhead, the command generating circuit 23 transmits the CMYK raster datafor each pass to the printing execution unit 9, and in every time whenthe transmission of the CMYK data for each pass is completed, a paperfeed command to feed the paper forward to the position for the next passis sent to the printing execution unit 9.

The position control circuit 24 sends the above data request to thememory control circuit 19 in response to the above request from thecommand generating circuit 23, receives binary CMYK raster data from thememory control circuit 19, converts this raster data into interlace CMYKdata, and sends it to the command generating circuit 23 as shown by thearrow 53 in FIG. 1. In this process, the position control circuit 24determines for each pass (each horizontal scanning) of the print head,based on the initially set back end parameters, the specifications foroptimal interlace printing and overlap printing for the image to beprinted, i.e., more specifically, which dot pixel should be formed everyhow many pixels by each dot forming element (such as an inkjet nozzle)of the print head of the printing execution unit 9. The position controlcircuit 24 then requests and receives from the memory control circuit 19CMYK raster data for the dots to be formed by each dot forming elementdetermined as described above, and then creates interlace CMYK data tobe provided to each dot forming element for each pass by adding nulldata corresponding to each non-printed dot to the received CMYK data,and thereafter sends this interlace CMYK data to the command generatingcircuit 23. In this way, the position control circuit 24 determines thespecifications for optimal interlace printing and overlap printing basedon the back end parameters, creates interlace CMYK raster data requiredby the print head when printing is performed based on suchspecifications, and sends the interlace CMYK raster data to the commandgenerating circuit 23.

The command generating circuit 23 converts the received binary CMYKraster data for each pass into a “CMYK raster data forwarding command”for transmission to the printing execution unit 9, and then transmitsthis command to the printing execution unit 9 via the printer interfacecircuit 25. After the “CMYK raster data forwarding command” for eachpass, the command generating circuit 23 generates a “paper feed forwardcommand” and sends it to the printing execution unit 9. The printerinterface circuit 25 sends the printer commands received from thecommand generating circuit 23 to the printing execution unit 9.

FIG. 9 shows a decoder 26 in the command generating circuit 23, colorspecification registers 27 a through 27 d, and a color specificationcounter 28. The color specification registers 27 a through 27 d comprisenon-volatile rewritable memories. These color specification registers 27a through 27 d each have addresses 1 through 6. Each color specificationregister stores a color specification parameter of the raster datacommands among the printer commands 7. Here, for example, the cyan colorspecification parameter 58 c is stored in the color specificationregister 27 a, the magenta color specification parameter 58 m is storedin the color specification register 27 b, the yellow color specificationparameter 58 y is stored in the color specification register 27 c, andthe black color specification parameter 58 k is stored in the colorspecification register 27 d. These color specification parameterscorrespond to the “ink color data index” described in the claims herein,and the color specification registers 27 a through 27 d correspond tothe “ink color data registers” described therein.

FIG. 10 shows the contents of the interlace CMYK raster data for eachpass sent from the position control circuit 24 to the command generatingcircuit 23. When printing is performed, this printer carries out mainscanning in which at least one of either the print head or the printmedium is moved, while ink droplets are expelled from the print head,and the ink droplets are caused to adhere to the print medium, therebyforming dots. A single scanning in a single direction is called a“pass.” The interlace CMYK raster data for each pass sent from theposition control circuit 24 to the command generating circuit 23comprises image data sets 52 c, 52 m, 52 y and 52 k for each color ofcyan, magenta, yellow and black, respectively, and is sent in this ordereach time. Each image data set contains a header in the top areathereof, and a code 56 indicating that the image data set has ended islocated at the end thereof. The color specification counter 28 (see FIG.9) is initialized before the image data sets are sent, and thereafterincreases in value by one each time an image data set for each color issent. The color specification counter 28 increases in value by one eachtime a code 56 located at the end of each image data set is received.The decoder 26 adds the color specification parameter 58 c, 58 m, 58 yor 58 k stored in the color specification register for a prescribedaddress to this image data set, with reference to the value of the colorspecification counter 28. For example, if the cyan image data set 52 cis first sent from the position control circuit 24, the value of thecounter changes from 0 to 1. The decoder 26 then adds the cyan colorspecification parameter 58 c stored in the color specification register27 a for the address 1 to the beginning of the sent image data set 52 c.When the magenta image data set 52 m is then sent second, the value ofthe color specification counter 28 becomes 2, and the decoder 26 addsthe magenta color specification parameter 58 m stored in the colorspecification register 27 b for the address 2 to the beginning of thesent image data set 52 m. Similarly, the color specification parameters58 y and 58 k of the printer data forwarding command are respectivelyadded to the yellow and black image data sets 52 y and 52 k. The decoder26 corresponds to the “processor that receives multiple image data setscorresponding to multiple inks used in the printing system and performsprescribed processing” described in the claims herein.

FIG. 11 shows the contents of the interlace CMYK raster data for eachpass sent from the command generating circuit 23 to the printingexecution unit 9. As described above, the command generating unit 23generates “CMYK raster data forwarding commands” while adding colorspecification parameters to the image data sets for each color, andsends them to the printing execution unit 9. As a result, the interlaceCMYK raster data for each pass sent to the printing execution unit 9 hasthe configuration shown in FIG. 11.

FIGS. 12(A) and 12(B) show the rewriting of the color specificationregisters 27 a through 27 d. The contents of each color specificationregister 27 a through 27 d may be rewritten by the command rewritingdevice 51 (see FIG. 1) connected to the printer. Therefore, where theorder in which the image data sets for each color sent from the positioncontrol circuit 24 changes, by rewriting the contents of the colorspecification registers 27 a through 27 d, the correct colorspecification parameter may be added even after the above order changes.For example, where the order of image data sets for each color sent fromthe position control circuit 24 is black 52 k, cyan 52 c, magenta 52 mand yellow 52 y, the color specification registers are rewritten so thatthe color specification parameter 58 k for black is stored in the colorspecification register 27 a, the color specification parameter 58 c forcyan is stored in the color specification register 27 b, the colorspecification parameter 58 m for magenta is stored in the colorspecification register 27 c, and the color specification parameter 58 yfor yellow is stored in the color specification register 27 d, as shownin FIG. 12. When the contents of the color specification registers arerewritten in this way, the color specification parameter 58 k for blackstored in the color specification register 27 a for the address 1 isadded to the image data set 52 k initially sent from the positioncontrol circuit 24, and the color specification parameter 58 c for cyanstored in the color specification register 27 b for the address 2 isadded to the image data set 52 c sent second. Similarly, the colorspecification parameters 58 m and 58 c are added to the image data sets52 m and 52 y for magenta and yellow, respectively.

Here, ink color data (color specification parameters) is added to imagedata sets sent in a certain order, but the present invention may beapplied in any apparatus so long as corresponding prescribed data isadded to data sets sent in a certain order. For example, when data setswithout parameters or commands are sent in a certain order to thecommand interpreting circuit 13, it is acceptable if the presentinvention is applied to the command interpreting circuit 13, that thecommand interpreting circuit 13 adds parameters or commands to the datasets.

E. Allocation of Commands

The command data conversion circuit 5 described above is constructedsuch that it may also be applied where a conventional printer driverwhich generates only printer commands is used in a host computer. Inother words, once the RGB raster graphic mode is no longer present,command interpretation is not performed by the command interpretingcircuit 13 of the command data conversion circuit 5 unless an RGB rastergraphic mode start command “<ESC> (G” is received once more. Before thecommand interpreting circuit 13, the command filter 12 catches commandsother than the commands described above sent from the host when the RGBgraphic mode is present and sends them to the printer interface circuit25 via the through-pass 42 not to the command interpreting circuit 13.The printer interface circuit 25 sends the commands as is to theprinting execution unit 9. Therefore, the printer commands issued by theconventional printer driver bypass the command data conversion circuit 5and are sent to the printing execution 9, the printing execution unit 9can be driven in the conventional manner.

FIG. 13 shows a comparator 29 and registers 32 a through 32 f of thecommand filter 12 (see FIG. 1). The registers 32 a through 32 x comprisenon-volatile rewritable memories. In the registers 32 a through 32 l,command codes are stored that can be understood by the commandinterpreting circuit 13, such as “<ESC> (G”, “<xferJ>”, “<xferC>”,“<eor>”, “<FF>”, “<exit>.” And also command codes of the command groupare stored that can be understood directly by the printing executionunit 9. The command filter 12 compares the command codes stored in theregisters 32 a through 32 x and the control circuit commands 3 in theprint command data using the comparator 29, and sends command codes thatmay be understood by the command interpreting circuit 13 to the commandinterpreting circuit 13. Command codes other than these that may beunderstood directly by the printing execution unit 9 are sent to theprinter interface circuit 25. Command codes not falling under thesecategories are ignored. Where the command codes are changed, thecontents of the registers 32 a through 32 l can be rewritten using thecommand rewriting device 51 (see FIG. 1). If contents of the registers32 a through 32 l are rewritten into new command codes, the correctcommands can be sent to the command interpreting circuit 13 even afterthe command codes have changed. Here, the command filter 12 correspondsto the “command interpreter” described in the claims herein, and theregisters 32 a through 32 l correspond to the “command registers”described therein. The command interpreting circuit 13 locateddownstream from the command filter 12 corresponds to the “processor thatreceives at least either of the commands and the associated data andexecutes prescribed processing.” This is another combination of theelements corresponding to each element described in the claims herein.

Through the above construction, command data is correctly convertedthrough rewriting of the contents of each register even where thecommand codes sent from the host computer have changed.

The command rewriting device 51 normally need not be connected to thecommand data conversion circuit 5, and may be connected only whencommands are to be rewritten. Furthermore, instead of using a dedicatedcommand rewriting device, the command in each register may be rewrittenusing the printer driver in the host computer or the CPU in the printer.

F. Variation 1

FIG. 14 shows the overall construction of a variation of the presentembodiment. This printer 17 a includes a CPU 55 and a PROM 50. Thecommands and parameters are stored in the PROM 50 that are to be storedin the various registers of the command filter 12 a, the commandinterpreting circuit 13 a and the command generating circuit 23 a of thecommand data conversion circuit 5 a. The other aspects of this variationare identical to those of the printer 17 of the embodiment. The commanddata conversion circuit 5 a is an ASIC (Application-Specific IntegratedCircuit). In addition, the printer 17 of the embodiment has a CPU,though it is omitted from the drawing in FIG. 1.

FIG. 15 is a flow chart showing the printing process in the printer usedin this variation. As shown in FIG. 15, when the power to the printer 17a is turned ON in step S1, in step S2 the CPU 55 writes the commands andcolor specification parameters stored in the PROM 50 into the prescribedaddresses of the respective registers of the command filter 12 a, thecommand interpreting circuit 13 a and the command generating circuit 23a. In step S3, print circuit commands described below are received fromthe printer driver 1, the command data conversion circuit 5 a interpretsand performs prescribed processing regarding these commands, andprinting is executed. The process by which the command interpreting andprocessing are carried out by the command data conversion circuit 5 a instep S3 is the same as that described in connection with the embodiment.

The command data conversion circuit 5 a in the Variation 1 correspondsto the “command data conversion device” described in the claims herein,and the CPU corresponds to the “external device” described therein.

In the Variation 1, the commands for prescribed processing are stored ina ROM, and when the power to the printer is turned ON, the commands inthe ROM and the color specification parameters are written into theprescribed addresses of their respective registers in the command filter12 a, the command interpreting circuit 13 a and the command generatingcircuit 23 a. Consequently, the command data conversion circuit 5 amanufactured as an ASIC need not have a unique design for each of thevarious types of printer, and may be produced based on commonspecifications for multiple types of printers. Therefore, the commanddata conversion circuit 5 a may be manufactured in large quantities andat low cost.

The command data conversion circuit may be constructed based onspecifications unique to each of the various types of printers, so thatthe commands that perform prescribed processing in the command filter 12a, the command interpreting circuit 13 a and the command generatingcircuit 23 a may be stored in a fixed manner. Using this construction aswell, necessary processing can be carried out only with regard to thosecommands and data contained in the print command data that requireprocessing in the same manner as such processing is carried out by thecommand data conversion circuit in the embodiment or the Variation 1.

Various commands may be written into the PROM 50 at the time ofmanufacture. As a result, even where a common ASIC is used in theprinter manufacturing as the command data conversion circuit for variousdifferent types of printers, the printers can perform processing ofdifferent commands and data may be manufactured by changing the commandswritten into the PROM 50 depending on the type of printer.

G. Variation 2

FIG. 16 shows the system construction of a different embodiment of thepresent invention. In this embodiment, a data flow controller 407 islocated upstream of the command data conversion circuit (controlcircuit) 411. The data flow controller 407 may be connected to thefollowing three types of host device: a host computer 401, a digitalcamera 403, and an image scanner 405. In this embodiment, the imagescanner 405, the data flow controller 407, the command data conversioncircuit 411 and the printing execution unit 413 are combined in onehousing to form a single printer 415. The data flow controller 407 isalso connected to the control panel 409 of the printer 415. The digitalcamera 403 is connected to the printer 415 only when necessary.

When printing is executed using the host computer 401, a series ofcontrol circuit commands as described above is generated by the printerdriver in the host computer 401, and these control circuit commands aresent to the data flow controller 407 as shown by the arrow 417. The dataflow controller 407 forwards these control circuit commands as is to thecommand data conversion circuit 411 as shown by the arrow 425. Thecommand data conversion circuit 411 generates printer commands fromthese control circuit commands as described above, and sends them to theprinting execution unit 413 as indicated by the arrow 427.

At the same time, the image scanner 405 and the digital camera 403 inprinciple simply output full-color RGB data, and do not have a functionto generate control circuit commands. When the data flow controller 407receives an instruction from the control panel 409 to perform printingusing the image scanner 405 or the digital camera 403, it reads infull-color RGB raster image data from either the image scanner 405 orthe digital camera 403, as indicated by the arrow 421 or 419. The dataflow controller 407 then generates a series of control circuit commandsfor printing the RGB raster images based on the printing conditionsspecified by the user from the control panel. The data flow controller407 then sends these commands to the command data conversion circuit 411as indicated by the arrow 425. The command data conversion circuit 411generates the printer commands described above from these controlcircuit commands and sends them to the printing execution unit 413 asindicated by the arrow 427.

In this way, printing may be executed using either the host computer401, the digital camera 403 or the image scanner 405.

While several embodiments of the present invention are described above,the present invention is not limited to these embodiments, and may berealized using other types of embodiments without departing from theessential scope of the invention. For example, in the above embodiments,the control circuit carried out data operations involving processing toperform color conversion and halftone processing of natural-image imagedata, as well as interlace printing and overlap printing. But this isnot the only form of implementation, and a certain increase in printingspeed may be attained so long as the control circuit performs on behalfof the printer driver or printer some data operations during the processfrom generation of original image data by the host to the creation offinal image data by the printer that may be used for printing. Forexample, the control circuit may perform only halftone processing ofnatural images, or may perform rasterizing, color conversion andhalftone processing of the entire image including natural images as wellas characters and/or drawings.

If data such as commands and parameters necessary to carry out thesedata operations is rewritably stored, changes in the commands andparameters may be easily accommodated by rewriting the data. Forexample, where the command data conversion circuit 5 is constructed as acircuit independent from the printer 17 as indicated by the blocks 33and 35 in FIG. 2, various types of printers may be accommodated byrewriting the data necessary for data operations in accordance with thetype of printer to which the circuit is connected. Similarly, where thecommand data conversion circuit 5 is constructed as a circuitindependent from the host computer 31 as indicated by the blocks 35 and37 in FIG. 2, various types of computer command data may be handled byrewriting the data necessary for data operations in accordance with thetype of computer to which the circuit is connected. In addition, if thenumber of commands that may be stored in the memory units such asregisters is set to be a number larger than the number of commandsactually required, future increases in the number of commands may behandled.

In the above embodiment, the four ink colors of magenta, cyan, yellowand black are used in the printing apparatus, but light cyan and lightmagenta may be included as well. In such a case, the six colors ofmagenta, cyan, yellow, black, light cyan and light magenta constitute asecond color system. Furthermore, light black (gray) ink may be used aswell. In such a case, the second color system comprises seven colors,including light black. In other words, the printing apparatus is notlimited in regard to the ink colors that it may use.

The various control processes described in connection with the aboveembodiments may also be realized in whole or in part through hardwarecircuitry.

Although the present invention has been described and illustrated indetail, it is clearly understood that the same is by way of illustrationand example only and is not to be taken by way of limitation, the spiritand scope of the present invention being limited only by the terms ofthe appended claims.

1. A command data conversion device for use in a printing system,comprising: a processor that receives multiple image data setscorresponding to multiple inks used in the printing system and performsprescribed processing; a counter that counts a number of the image datasets received by the processor; and ink color data registers that storemultiple ink color data indexes indicating which of multiple inks is tobe used, and into which the multiple ink color data indexes may bewritten at least when the command data conversion device ismanufactured, and wherein the processor generates data by adding to eachof the image data sets a corresponding one of the ink color data indexesstored in the registers in accordance with a value of the counter wheneach of the image data sets is received.
 2. The command data conversiondevice according to claim 1, wherein the ink color data registers arerewritable memories.
 3. A printing apparatus used in a printing system,the printing apparatus comprising: a processor that receives multipleimage data sets corresponding to the multiple inks used in the printingapparatus and performs prescribed processing; a counter that counts anumber of the image data sets received by the processor; and ink colordata registers that store multiple ink color data indexes indicatingwhich of multiple inks is to be used, and wherein the processorgenerates data by adding to each of the image data sets a correspondingone of the ink color data indexes stored in the registers in accordancewith a value of the counter when each of the image data sets isreceived.